JavaScript 解构赋值
解构赋值
-
数组赋值给变量:
let [x, y, z] = [hello, js, es6]
-
嵌套赋值:
[x, [y, z]] = [...]
; -
忽略:
[, , z] = []
; -
对象赋值给变量:
let {name, age, passport} = person
-
嵌套:
let {name, address: {city, zip}} = person
,注意这里address
不能引用。 -
重命名:
let {name, passport:id} = person
; -
默认值:
let {name, single=true} = person
,防止返回undefined
; -
如果变量已经声明了,再次赋值需要加括号:
({x, y} = { name: '小明', x: 100, y: 200})
。
例如,接收对象作为参数时可以直接绑定:
function buildDate({year, month, day, hour=0, minute=0, second=0}) {
return new Date(year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second);
}